//
//  CLStatusListViewModel.swift
//  CLWeibo
//
//  Created by 陈亮 on 16/7/13.
//  Copyright © 2016年 陈亮. All rights reserved.
//

import UIKit
//这个viewModel对应的是首页的tableView
class CLStatusListViewModel: NSObject {

    //微博数据源
    lazy var statusList:[CLStatusViewModel] = [CLStatusViewModel]()
    //加载微博数据
    func loadData(isPullUp:Bool, callback:(isSuccess :Bool,message :String)->()){
        //上拉加载默认值
        var maxId: Int64 = 0
        var sinceId: Int64 = 0
        if isPullUp {
            maxId = statusList.last?.status?.id ?? 0
            if maxId >  0 {
                maxId -= 1
            }
            
        }else {
                sinceId = statusList.first?.status?.id ?? 0
            
        }
      
        var message = "没有更多的微博数据了"
        CLStatusDAL.loadData(maxId, sinceId: sinceId) { (statsuDicArray) -> () in
            
       
//        
//        CLNetWorkingTool.sharedTool.loadStatus(maxId,sinceId: sinceId) { (response, error) -> () in
//            if error != nil {
//                callback(isSuccess: false,message: message)
//                return
//            }
//            guard let dic = response as? [String:AnyObject] else {
//                callback(isSuccess: false,message: message)
//                return
//            }
//            guard let statsuDicArray = dic["statuses"] as? [[String :AnyObject]] else {
//                callback(isSuccess: false,message: message)
//                return
//            }
            //遍历数组 完成字典转模型
            //空的可变数组
            var tempArray = [CLStatusViewModel]()
            for statusDic in statsuDicArray {
                let status = CLStatus(dic:statusDic)
                //初始化ViewModel通过微博模型
                let statusViewModel = CLStatusViewModel(status: status)
                tempArray.append(statusViewModel)
            }
            //设置上拉加载  下拉刷新数据
            if isPullUp {
                self.statusList.appendContentsOf(tempArray)
            }else {
                self.statusList.insertContentsOf(tempArray, at: 0)
            }
            
            if tempArray.count > 0 {
                message = "加载了\(tempArray.count)条新微博"
            }
//            self.statusList.appendContentsOf(tempArray)
//            //刷新数据
////            self.tableView.reloadData()
            callback(isSuccess: true,message: message)
        }
        
    }

    
}
